
pthread_once_t:     file format elf64-x86-64


Disassembly of section .init:

0000000000001000 <_init>:
    1000:	f3 0f 1e fa          	endbr64 
    1004:	48 83 ec 08          	sub    $0x8,%rsp
    1008:	48 8b 05 d9 2f 00 00 	mov    0x2fd9(%rip),%rax        # 3fe8 <__gmon_start__>
    100f:	48 85 c0             	test   %rax,%rax
    1012:	74 02                	je     1016 <_init+0x16>
    1014:	ff d0                	callq  *%rax
    1016:	48 83 c4 08          	add    $0x8,%rsp
    101a:	c3                   	retq   

Disassembly of section .plt:

0000000000001020 <.plt>:
    1020:	ff 35 5a 2f 00 00    	pushq  0x2f5a(%rip)        # 3f80 <_GLOBAL_OFFSET_TABLE_+0x8>
    1026:	f2 ff 25 5b 2f 00 00 	bnd jmpq *0x2f5b(%rip)        # 3f88 <_GLOBAL_OFFSET_TABLE_+0x10>
    102d:	0f 1f 00             	nopl   (%rax)
    1030:	f3 0f 1e fa          	endbr64 
    1034:	68 00 00 00 00       	pushq  $0x0
    1039:	f2 e9 e1 ff ff ff    	bnd jmpq 1020 <.plt>
    103f:	90                   	nop
    1040:	f3 0f 1e fa          	endbr64 
    1044:	68 01 00 00 00       	pushq  $0x1
    1049:	f2 e9 d1 ff ff ff    	bnd jmpq 1020 <.plt>
    104f:	90                   	nop
    1050:	f3 0f 1e fa          	endbr64 
    1054:	68 02 00 00 00       	pushq  $0x2
    1059:	f2 e9 c1 ff ff ff    	bnd jmpq 1020 <.plt>
    105f:	90                   	nop
    1060:	f3 0f 1e fa          	endbr64 
    1064:	68 03 00 00 00       	pushq  $0x3
    1069:	f2 e9 b1 ff ff ff    	bnd jmpq 1020 <.plt>
    106f:	90                   	nop
    1070:	f3 0f 1e fa          	endbr64 
    1074:	68 04 00 00 00       	pushq  $0x4
    1079:	f2 e9 a1 ff ff ff    	bnd jmpq 1020 <.plt>
    107f:	90                   	nop
    1080:	f3 0f 1e fa          	endbr64 
    1084:	68 05 00 00 00       	pushq  $0x5
    1089:	f2 e9 91 ff ff ff    	bnd jmpq 1020 <.plt>
    108f:	90                   	nop
    1090:	f3 0f 1e fa          	endbr64 
    1094:	68 06 00 00 00       	pushq  $0x6
    1099:	f2 e9 81 ff ff ff    	bnd jmpq 1020 <.plt>
    109f:	90                   	nop
    10a0:	f3 0f 1e fa          	endbr64 
    10a4:	68 07 00 00 00       	pushq  $0x7
    10a9:	f2 e9 71 ff ff ff    	bnd jmpq 1020 <.plt>
    10af:	90                   	nop
    10b0:	f3 0f 1e fa          	endbr64 
    10b4:	68 08 00 00 00       	pushq  $0x8
    10b9:	f2 e9 61 ff ff ff    	bnd jmpq 1020 <.plt>
    10bf:	90                   	nop

Disassembly of section .plt.got:

00000000000010c0 <__cxa_finalize@plt>:
    10c0:	f3 0f 1e fa          	endbr64 
    10c4:	f2 ff 25 2d 2f 00 00 	bnd jmpq *0x2f2d(%rip)        # 3ff8 <__cxa_finalize@GLIBC_2.2.5>
    10cb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

Disassembly of section .plt.sec:

00000000000010d0 <pthread_create@plt>:
    10d0:	f3 0f 1e fa          	endbr64 
    10d4:	f2 ff 25 b5 2e 00 00 	bnd jmpq *0x2eb5(%rip)        # 3f90 <pthread_create@GLIBC_2.2.5>
    10db:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

00000000000010e0 <puts@plt>:
    10e0:	f3 0f 1e fa          	endbr64 
    10e4:	f2 ff 25 ad 2e 00 00 	bnd jmpq *0x2ead(%rip)        # 3f98 <puts@GLIBC_2.2.5>
    10eb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

00000000000010f0 <pthread_once@plt>:
    10f0:	f3 0f 1e fa          	endbr64 
    10f4:	f2 ff 25 a5 2e 00 00 	bnd jmpq *0x2ea5(%rip)        # 3fa0 <pthread_once@GLIBC_2.2.5>
    10fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001100 <__stack_chk_fail@plt>:
    1100:	f3 0f 1e fa          	endbr64 
    1104:	f2 ff 25 9d 2e 00 00 	bnd jmpq *0x2e9d(%rip)        # 3fa8 <__stack_chk_fail@GLIBC_2.4>
    110b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001110 <pthread_mutex_unlock@plt>:
    1110:	f3 0f 1e fa          	endbr64 
    1114:	f2 ff 25 95 2e 00 00 	bnd jmpq *0x2e95(%rip)        # 3fb0 <pthread_mutex_unlock@GLIBC_2.2.5>
    111b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001120 <pthread_join@plt>:
    1120:	f3 0f 1e fa          	endbr64 
    1124:	f2 ff 25 8d 2e 00 00 	bnd jmpq *0x2e8d(%rip)        # 3fb8 <pthread_join@GLIBC_2.2.5>
    112b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001130 <exit@plt>:
    1130:	f3 0f 1e fa          	endbr64 
    1134:	f2 ff 25 85 2e 00 00 	bnd jmpq *0x2e85(%rip)        # 3fc0 <exit@GLIBC_2.2.5>
    113b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001140 <pthread_mutex_init@plt>:
    1140:	f3 0f 1e fa          	endbr64 
    1144:	f2 ff 25 7d 2e 00 00 	bnd jmpq *0x2e7d(%rip)        # 3fc8 <pthread_mutex_init@GLIBC_2.2.5>
    114b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001150 <pthread_mutex_lock@plt>:
    1150:	f3 0f 1e fa          	endbr64 
    1154:	f2 ff 25 75 2e 00 00 	bnd jmpq *0x2e75(%rip)        # 3fd0 <pthread_mutex_lock@GLIBC_2.2.5>
    115b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

Disassembly of section .text:

0000000000001160 <_start>:
    1160:	f3 0f 1e fa          	endbr64 
    1164:	31 ed                	xor    %ebp,%ebp
    1166:	49 89 d1             	mov    %rdx,%r9
    1169:	5e                   	pop    %rsi
    116a:	48 89 e2             	mov    %rsp,%rdx
    116d:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
    1171:	50                   	push   %rax
    1172:	54                   	push   %rsp
    1173:	4c 8d 05 06 03 00 00 	lea    0x306(%rip),%r8        # 1480 <__libc_csu_fini>
    117a:	48 8d 0d 8f 02 00 00 	lea    0x28f(%rip),%rcx        # 1410 <__libc_csu_init>
    1181:	48 8d 3d 7b 01 00 00 	lea    0x17b(%rip),%rdi        # 1303 <main>
    1188:	ff 15 52 2e 00 00    	callq  *0x2e52(%rip)        # 3fe0 <__libc_start_main@GLIBC_2.2.5>
    118e:	f4                   	hlt    
    118f:	90                   	nop

0000000000001190 <deregister_tm_clones>:
    1190:	48 8d 3d 79 2e 00 00 	lea    0x2e79(%rip),%rdi        # 4010 <__TMC_END__>
    1197:	48 8d 05 72 2e 00 00 	lea    0x2e72(%rip),%rax        # 4010 <__TMC_END__>
    119e:	48 39 f8             	cmp    %rdi,%rax
    11a1:	74 15                	je     11b8 <deregister_tm_clones+0x28>
    11a3:	48 8b 05 2e 2e 00 00 	mov    0x2e2e(%rip),%rax        # 3fd8 <_ITM_deregisterTMCloneTable>
    11aa:	48 85 c0             	test   %rax,%rax
    11ad:	74 09                	je     11b8 <deregister_tm_clones+0x28>
    11af:	ff e0                	jmpq   *%rax
    11b1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    11b8:	c3                   	retq   
    11b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000000011c0 <register_tm_clones>:
    11c0:	48 8d 3d 49 2e 00 00 	lea    0x2e49(%rip),%rdi        # 4010 <__TMC_END__>
    11c7:	48 8d 35 42 2e 00 00 	lea    0x2e42(%rip),%rsi        # 4010 <__TMC_END__>
    11ce:	48 29 fe             	sub    %rdi,%rsi
    11d1:	48 89 f0             	mov    %rsi,%rax
    11d4:	48 c1 ee 3f          	shr    $0x3f,%rsi
    11d8:	48 c1 f8 03          	sar    $0x3,%rax
    11dc:	48 01 c6             	add    %rax,%rsi
    11df:	48 d1 fe             	sar    %rsi
    11e2:	74 14                	je     11f8 <register_tm_clones+0x38>
    11e4:	48 8b 05 05 2e 00 00 	mov    0x2e05(%rip),%rax        # 3ff0 <_ITM_registerTMCloneTable>
    11eb:	48 85 c0             	test   %rax,%rax
    11ee:	74 08                	je     11f8 <register_tm_clones+0x38>
    11f0:	ff e0                	jmpq   *%rax
    11f2:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
    11f8:	c3                   	retq   
    11f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000001200 <__do_global_dtors_aux>:
    1200:	f3 0f 1e fa          	endbr64 
    1204:	80 3d 15 2e 00 00 00 	cmpb   $0x0,0x2e15(%rip)        # 4020 <completed.8061>
    120b:	75 2b                	jne    1238 <__do_global_dtors_aux+0x38>
    120d:	55                   	push   %rbp
    120e:	48 83 3d e2 2d 00 00 	cmpq   $0x0,0x2de2(%rip)        # 3ff8 <__cxa_finalize@GLIBC_2.2.5>
    1215:	00 
    1216:	48 89 e5             	mov    %rsp,%rbp
    1219:	74 0c                	je     1227 <__do_global_dtors_aux+0x27>
    121b:	48 8b 3d e6 2d 00 00 	mov    0x2de6(%rip),%rdi        # 4008 <__dso_handle>
    1222:	e8 99 fe ff ff       	callq  10c0 <__cxa_finalize@plt>
    1227:	e8 64 ff ff ff       	callq  1190 <deregister_tm_clones>
    122c:	c6 05 ed 2d 00 00 01 	movb   $0x1,0x2ded(%rip)        # 4020 <completed.8061>
    1233:	5d                   	pop    %rbp
    1234:	c3                   	retq   
    1235:	0f 1f 00             	nopl   (%rax)
    1238:	c3                   	retq   
    1239:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000001240 <frame_dummy>:
    1240:	f3 0f 1e fa          	endbr64 
    1244:	e9 77 ff ff ff       	jmpq   11c0 <register_tm_clones>

0000000000001249 <once_init_routine>:
    1249:	f3 0f 1e fa          	endbr64 
    124d:	55                   	push   %rbp
    124e:	48 89 e5             	mov    %rsp,%rbp
    1251:	48 83 ec 10          	sub    $0x10,%rsp
    1255:	be 00 00 00 00       	mov    $0x0,%esi
    125a:	48 8d 3d df 2d 00 00 	lea    0x2ddf(%rip),%rdi        # 4040 <mutex>
    1261:	e8 da fe ff ff       	callq  1140 <pthread_mutex_init@plt>
    1266:	89 45 fc             	mov    %eax,-0x4(%rbp)
    1269:	83 7d fc 00          	cmpl   $0x0,-0x4(%rbp)
    126d:	74 0a                	je     1279 <once_init_routine+0x30>
    126f:	bf ff ff ff ff       	mov    $0xffffffff,%edi
    1274:	e8 b7 fe ff ff       	callq  1130 <exit@plt>
    1279:	90                   	nop
    127a:	c9                   	leaveq 
    127b:	c3                   	retq   

000000000000127c <thread_routine>:
    127c:	f3 0f 1e fa          	endbr64 
    1280:	55                   	push   %rbp
    1281:	48 89 e5             	mov    %rsp,%rbp
    1284:	48 83 ec 20          	sub    $0x20,%rsp
    1288:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
    128c:	48 8d 35 b6 ff ff ff 	lea    -0x4a(%rip),%rsi        # 1249 <once_init_routine>
    1293:	48 8d 3d 8a 2d 00 00 	lea    0x2d8a(%rip),%rdi        # 4024 <once_block>
    129a:	e8 51 fe ff ff       	callq  10f0 <pthread_once@plt>
    129f:	89 45 fc             	mov    %eax,-0x4(%rbp)
    12a2:	83 7d fc 00          	cmpl   $0x0,-0x4(%rbp)
    12a6:	74 0a                	je     12b2 <thread_routine+0x36>
    12a8:	bf ff ff ff ff       	mov    $0xffffffff,%edi
    12ad:	e8 7e fe ff ff       	callq  1130 <exit@plt>
    12b2:	48 8d 3d 87 2d 00 00 	lea    0x2d87(%rip),%rdi        # 4040 <mutex>
    12b9:	e8 92 fe ff ff       	callq  1150 <pthread_mutex_lock@plt>
    12be:	89 45 fc             	mov    %eax,-0x4(%rbp)
    12c1:	83 7d fc 00          	cmpl   $0x0,-0x4(%rbp)
    12c5:	74 0a                	je     12d1 <thread_routine+0x55>
    12c7:	bf ff ff ff ff       	mov    $0xffffffff,%edi
    12cc:	e8 5f fe ff ff       	callq  1130 <exit@plt>
    12d1:	48 8d 3d 30 0d 00 00 	lea    0xd30(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    12d8:	e8 03 fe ff ff       	callq  10e0 <puts@plt>
    12dd:	48 8d 3d 5c 2d 00 00 	lea    0x2d5c(%rip),%rdi        # 4040 <mutex>
    12e4:	e8 27 fe ff ff       	callq  1110 <pthread_mutex_unlock@plt>
    12e9:	89 45 fc             	mov    %eax,-0x4(%rbp)
    12ec:	83 7d fc 00          	cmpl   $0x0,-0x4(%rbp)
    12f0:	74 0a                	je     12fc <thread_routine+0x80>
    12f2:	bf ff ff ff ff       	mov    $0xffffffff,%edi
    12f7:	e8 34 fe ff ff       	callq  1130 <exit@plt>
    12fc:	b8 00 00 00 00       	mov    $0x0,%eax
    1301:	c9                   	leaveq 
    1302:	c3                   	retq   

0000000000001303 <main>:
    1303:	f3 0f 1e fa          	endbr64 
    1307:	55                   	push   %rbp
    1308:	48 89 e5             	mov    %rsp,%rbp
    130b:	48 83 ec 70          	sub    $0x70,%rsp
    130f:	89 7d 9c             	mov    %edi,-0x64(%rbp)
    1312:	48 89 75 90          	mov    %rsi,-0x70(%rbp)
    1316:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    131d:	00 00 
    131f:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    1323:	31 c0                	xor    %eax,%eax
    1325:	48 8d 45 a8          	lea    -0x58(%rbp),%rax
    1329:	b9 00 00 00 00       	mov    $0x0,%ecx
    132e:	48 8d 15 47 ff ff ff 	lea    -0xb9(%rip),%rdx        # 127c <thread_routine>
    1335:	be 00 00 00 00       	mov    $0x0,%esi
    133a:	48 89 c7             	mov    %rax,%rdi
    133d:	e8 8e fd ff ff       	callq  10d0 <pthread_create@plt>
    1342:	89 45 a4             	mov    %eax,-0x5c(%rbp)
    1345:	83 7d a4 00          	cmpl   $0x0,-0x5c(%rbp)
    1349:	74 0a                	je     1355 <main+0x52>
    134b:	bf ff ff ff ff       	mov    $0xffffffff,%edi
    1350:	e8 db fd ff ff       	callq  1130 <exit@plt>
    1355:	48 8d 35 ed fe ff ff 	lea    -0x113(%rip),%rsi        # 1249 <once_init_routine>
    135c:	48 8d 3d c1 2c 00 00 	lea    0x2cc1(%rip),%rdi        # 4024 <once_block>
    1363:	e8 88 fd ff ff       	callq  10f0 <pthread_once@plt>
    1368:	89 45 a4             	mov    %eax,-0x5c(%rbp)
    136b:	83 7d a4 00          	cmpl   $0x0,-0x5c(%rbp)
    136f:	74 0a                	je     137b <main+0x78>
    1371:	bf ff ff ff ff       	mov    $0xffffffff,%edi
    1376:	e8 b5 fd ff ff       	callq  1130 <exit@plt>
    137b:	48 8d 3d be 2c 00 00 	lea    0x2cbe(%rip),%rdi        # 4040 <mutex>
    1382:	e8 c9 fd ff ff       	callq  1150 <pthread_mutex_lock@plt>
    1387:	89 45 a4             	mov    %eax,-0x5c(%rbp)
    138a:	83 7d a4 00          	cmpl   $0x0,-0x5c(%rbp)
    138e:	74 0a                	je     139a <main+0x97>
    1390:	bf ff ff ff ff       	mov    $0xffffffff,%edi
    1395:	e8 96 fd ff ff       	callq  1130 <exit@plt>
    139a:	48 8d 3d 8c 0c 00 00 	lea    0xc8c(%rip),%rdi        # 202d <_IO_stdin_used+0x2d>
    13a1:	e8 3a fd ff ff       	callq  10e0 <puts@plt>
    13a6:	48 8d 3d 93 2c 00 00 	lea    0x2c93(%rip),%rdi        # 4040 <mutex>
    13ad:	e8 5e fd ff ff       	callq  1110 <pthread_mutex_unlock@plt>
    13b2:	89 45 a4             	mov    %eax,-0x5c(%rbp)
    13b5:	83 7d a4 00          	cmpl   $0x0,-0x5c(%rbp)
    13b9:	74 0a                	je     13c5 <main+0xc2>
    13bb:	bf ff ff ff ff       	mov    $0xffffffff,%edi
    13c0:	e8 6b fd ff ff       	callq  1130 <exit@plt>
    13c5:	48 8b 45 a8          	mov    -0x58(%rbp),%rax
    13c9:	be 00 00 00 00       	mov    $0x0,%esi
    13ce:	48 89 c7             	mov    %rax,%rdi
    13d1:	e8 4a fd ff ff       	callq  1120 <pthread_join@plt>
    13d6:	89 45 a4             	mov    %eax,-0x5c(%rbp)
    13d9:	83 7d a4 00          	cmpl   $0x0,-0x5c(%rbp)
    13dd:	74 0a                	je     13e9 <main+0xe6>
    13df:	bf ff ff ff ff       	mov    $0xffffffff,%edi
    13e4:	e8 47 fd ff ff       	callq  1130 <exit@plt>
    13e9:	b8 00 00 00 00       	mov    $0x0,%eax
    13ee:	48 8b 55 f8          	mov    -0x8(%rbp),%rdx
    13f2:	64 48 33 14 25 28 00 	xor    %fs:0x28,%rdx
    13f9:	00 00 
    13fb:	74 05                	je     1402 <main+0xff>
    13fd:	e8 fe fc ff ff       	callq  1100 <__stack_chk_fail@plt>
    1402:	c9                   	leaveq 
    1403:	c3                   	retq   
    1404:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
    140b:	00 00 00 
    140e:	66 90                	xchg   %ax,%ax

0000000000001410 <__libc_csu_init>:
    1410:	f3 0f 1e fa          	endbr64 
    1414:	41 57                	push   %r15
    1416:	4c 8d 3d 4b 29 00 00 	lea    0x294b(%rip),%r15        # 3d68 <__frame_dummy_init_array_entry>
    141d:	41 56                	push   %r14
    141f:	49 89 d6             	mov    %rdx,%r14
    1422:	41 55                	push   %r13
    1424:	49 89 f5             	mov    %rsi,%r13
    1427:	41 54                	push   %r12
    1429:	41 89 fc             	mov    %edi,%r12d
    142c:	55                   	push   %rbp
    142d:	48 8d 2d 3c 29 00 00 	lea    0x293c(%rip),%rbp        # 3d70 <__do_global_dtors_aux_fini_array_entry>
    1434:	53                   	push   %rbx
    1435:	4c 29 fd             	sub    %r15,%rbp
    1438:	48 83 ec 08          	sub    $0x8,%rsp
    143c:	e8 bf fb ff ff       	callq  1000 <_init>
    1441:	48 c1 fd 03          	sar    $0x3,%rbp
    1445:	74 1f                	je     1466 <__libc_csu_init+0x56>
    1447:	31 db                	xor    %ebx,%ebx
    1449:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    1450:	4c 89 f2             	mov    %r14,%rdx
    1453:	4c 89 ee             	mov    %r13,%rsi
    1456:	44 89 e7             	mov    %r12d,%edi
    1459:	41 ff 14 df          	callq  *(%r15,%rbx,8)
    145d:	48 83 c3 01          	add    $0x1,%rbx
    1461:	48 39 dd             	cmp    %rbx,%rbp
    1464:	75 ea                	jne    1450 <__libc_csu_init+0x40>
    1466:	48 83 c4 08          	add    $0x8,%rsp
    146a:	5b                   	pop    %rbx
    146b:	5d                   	pop    %rbp
    146c:	41 5c                	pop    %r12
    146e:	41 5d                	pop    %r13
    1470:	41 5e                	pop    %r14
    1472:	41 5f                	pop    %r15
    1474:	c3                   	retq   
    1475:	66 66 2e 0f 1f 84 00 	data16 nopw %cs:0x0(%rax,%rax,1)
    147c:	00 00 00 00 

0000000000001480 <__libc_csu_fini>:
    1480:	f3 0f 1e fa          	endbr64 
    1484:	c3                   	retq   

Disassembly of section .fini:

0000000000001488 <_fini>:
    1488:	f3 0f 1e fa          	endbr64 
    148c:	48 83 ec 08          	sub    $0x8,%rsp
    1490:	48 83 c4 08          	add    $0x8,%rsp
    1494:	c3                   	retq   
